Block Cyclic Array
نویسنده
چکیده
Implementing linear algebra kernels on distributed memory parallel computers raises the problem of data distribution of matrices and vectors among the processors. Block-cyclic distribution seems to suit well for most algorithms. But one has to choose a good compromise for the size of the blocks (to achieve a good eeciency and a good load balancing). This choice heavily depends on each operation, so it is essential to be able to go from one distribution to another very quickly. We present here the algorithms we implemented in the ScaLAPACK library. A complexity study is then made that proves the eeciency of our solution. Timing results on a network of SUN workstations and the Cray T3D using PVM corroborates the results. L'implantation de noyaux d'alg ebre lin eaire sur les machines paral-l eles a m emoire distribu ee pose le probl eme du choix de la distribution des donn ees pour les matrices et les vecteurs sur les dii erents processeurs. Une distribution bloc-cyclique semble convenir pour la plupart des algorithmes, mais un compromis est n ecessaire dans le choix de la taille des blocs (pour avoir a la fois des calculs eecaces et une bonne r epartition de charge). Le choix optimal est dii erent pour chaque algorithme, et il est donc essentiel de pouvoir passer d'une distribution a l'autre tr es rapidement. Nous pr esentons ici les algorithmes de redistribution que nous avons implant es dans la biblioth eque SCALAPACK. Une etude de complexit e vient ensuite prouver l'eecacit e des solutions choisies. Les performances obtenues sur r eseaux de stations et Cray T3D en utilisant PVM corroborent nos r esultats.
منابع مشابه
Compiling Array Expressions for Efficient Execution on Distributed-Memory Machines
Array statements are often used to express data-parallelism in scientiic languages such as Fortran 90 and High Performance Fortran. In compiling array statements for a distributed-memory machine, eecient generation of communication sets and local index sets is important. We show that for arrays distributed block-cyclically on multiple processors, the local memory access sequence and communicati...
متن کاملEfficient Methods for kr R r and r R kr Array
Array redistribution is usually required to enhance algorithm performance in many parallel programs on distributed memory multicomputers. Since it is performed at run-time, there is a performance tradeoff between the efficiency of new data decomposition for a subsequent phase of an algorithm and the cost of redistributing data among processors. In this paper, we present efficient algorithms for...
متن کاملMulti-phase array redistribution: modeling and evaluation
s t lcm lcm*2 lcm*4 gcd gcd/2 gcd/4 s t lcm lcm*2 lcm*4 gcd gcd/2 gcd/4 Table 1: Execution times (ms) for cyclic(s) to cyclic(t) redistribution on 32 processors. other block sizes t. Fig. 3 shows the total times in milliseconds for a cyclic(192) to cyclic(8) redistribution on 32 processors for increasing data sizes. This redistribution corresponds to the cyclic(Y t) to cyclic(t) case with Y = 2...
متن کاملAn Expression-Rewriting Framework to Generate Communication Sets for HPF Programs with Block-Cyclic Distribution
In this paper, we present a new framework based on expression rewritings and a calculus form called CSD calculus to generate the local enumeration set and communication set for HPF programs with Block-Cyclic distribution. Our framework is a practical software framework, and can handle the general cases so that the communication set of HPF programs of “Block-Cyclic” distributions with two-level ...
متن کاملAn Expression-Rewriting Framework to Generic Communication Sets for HPF Programs with Block-Cyclic Distribution
In this paper, we present a new framework based on expression rewritings and a calculus form called CSD calculus to generate the local enumeration set and communication set for HPF programs with Block-Cyclic distribution. Our framework is a practical software framework, and can handle the general cases so that the communication set of HPF programs of \Block-Cyclic" distributions with two-level ...
متن کاملRuntime Array Redistribution in HPF Programs
This paper describes eecient algorithms for run-time array redistribution in HPF programs. We consider block(m) to cyclic, cyclic to block(m) and the general cyclic(x) to cyclic(y) type redistributions. We initially describe algorithms for one-dimensional arrays and then extend the methodology to multidimen-sional arrays. The algorithms are practical enough to be easily implemented in the runti...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 1995